TTL (Time to Live) হল একটি গুরুত্বপূর্ণ ফিচার যা DynamoDB টেবিলের ডেটা স্বয়ংক্রিয়ভাবে এক নির্দিষ্ট সময় পর মুছে ফেলার সুযোগ প্রদান করে। TTL কনফিগারেশন করার মাধ্যমে আপনি এমন ডেটা রাখতে পারেন যা নির্দিষ্ট সময়ের পরে আর প্রয়োজন হয় না, যেমন সেশন ডেটা, টেম্পোরারি ফাইল, ইত্যাদি। এর মাধ্যমে আপনার টেবিলের আকার কমানো যায় এবং খরচও নিয়ন্ত্রণ করা সম্ভব হয়।
TTL কনফিগারেশন এবং Monitoring হল DynamoDB টেবিলের পারফরম্যান্স এবং ডেটার জীবিতকাল পর্যবেক্ষণ এবং পরিচালনা করার প্রক্রিয়া।
expirationTime
), যা ইন্সার্ট বা আপডেটের সময় টাইমস্ট্যাম্প হিসেবে সেট হবে এবং ডেটা কখন মুছে যাবে তা নির্ধারণ করবে।TTL Attribute Example: উদাহরণস্বরূপ, আপনি যদি expirationTime
নামে একটি ফিল্ড ব্যবহার করেন, তবে এর মান হিসেবে ইউনিক্স টাইমস্ট্যাম্প নির্ধারণ করবেন, যা ডেটার মুছে যাওয়ার সময় উল্লেখ করবে।
কোড উদাহরণ (Python - Boto3):
import boto3
from datetime import datetime, timedelta
# DynamoDB client তৈরি
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('YourTableName')
# TTL ফিল্ড তৈরি করা (যেমন, 24 ঘণ্টার পর ডেটা মুছে যাবে)
expiration_time = int((datetime.utcnow() + timedelta(days=1)).timestamp())
# ডেটা ইনসার্ট করা TTL সহ
table.put_item(
Item={
'PartitionKey': 'value1',
'SortKey': 'value2',
'data': 'some_data',
'expirationTime': expiration_time # TTL টাইমস্ট্যাম্প
}
)
TTL কনফিগারেশন করার পর, DynamoDB আপনাকে TTL ডেটা মুছে ফেলার কার্যকলাপ পর্যবেক্ষণ করতে সাহায্য করে। আপনাকে বিভিন্ন AWS টুল ব্যবহার করতে হবে যাতে এই মুছে ফেলা ডেটার ট্র্যাক রাখতে পারেন এবং পারফরম্যান্স পর্যবেক্ষণ করতে পারেন।
ConsumedWriteCapacityUnits
এবং ThrottledRequests
মেট্রিক্স ব্যবহার করতে পারেন, যা দেখাবে কত রিসোর্স ডিমান্ড হচ্ছে ডেটা মুছে ফেলার জন্য।import boto3
# CloudWatch client তৈরি
cloudwatch = boto3.client('cloudwatch')
# CloudWatch মেট্রিক্স পর্যবেক্ষণ করা
response = cloudwatch.get_metric_data(
MetricDataQueries=[
{
'Id': 'ttl_metric',
'MetricStat': {
'Metric': {
'Namespace': 'AWS/DynamoDB',
'MetricName': 'TimeToLiveDeletedItemCount',
'Dimensions': [
{
'Name': 'TableName',
'Value': 'YourTableName'
},
]
},
'Period': 60,
'Stat': 'Sum',
},
'ReturnData': True,
},
],
StartTime='2024-11-01T00:00:00Z',
EndTime='2024-11-26T23:59:59Z'
)
print(response)
এই কোডটি CloudWatch থেকে TimeToLiveDeletedItemCount মেট্রিক্স বের করবে, যা আপনাকে কত আইটেম TTL এর মাধ্যমে মুছে গেছে তা জানাবে।
TTL কনফিগারেশন এবং Monitoring ব্যবহারের মাধ্যমে DynamoDB এর খরচ নিয়ন্ত্রণ, পারফরম্যান্স অপটিমাইজেশন এবং স্টোরেজ ব্যবস্থাপনা আরও সহজ হয়।
common.read_more